The present invention relates generally to computer data storage such as in computer storage digital audio tape (DAT) drives, and is directed more particularly to a buffered data storage tape controller having reduced hardware and firmware complexity, and which is readily implemented for different environments and different applications,
Tape drives are commonly utilized as secondary storage devices for the back up of primary storage devices such as disk drives utilized in large computers such as main frames and in small computers such as personal computers, For small computers, smaller tape drives using quarter-inch tape cartridges (i,e,, the width of the tape is nominally one-quarter inch) are utilized, as well as computer storage digital audio tape (DAT) drives that are based on DAT technology developed for audio programming as defined in the DAT Conference Standard, DIGITAL AUDIO TAPERECORDER, June 1987, published by the Electronic Industries Association of Japan,
An example of a format for the storage of computer data utilizing DAT technology is the American National Standards Institute (ANSI) Digital Data Storage (DDS) standard, presently in draft form ("PROPOSED AMERICAN NATIONAL STANDARD HELICAL-SCAN DIGITAL COMPUTER TAPE CARTRIDGE 381 mm (0.150) FOR INFORMATION INTERCHANGE," ASC .times.3 Project No. 668-D).
The characteristics that have made DAT technology attractive for computer data storage include high capacity, high transfer rate capability, relatively small media size and low media cost, and the adaptability of DAT technology to conform with personal computer storage device form factors including the 5-1/4 and 3-1/2 inch forms.
The use of DAT technology for storage of computer data can be achieved by application of a data storage format, such as the above-referenced ANSI DDS standard, to the DAT Conference audio standard. In particular, the DAT audio standard physical track format is retained, but the contents of the information stored in the tracks is in accordance with the computer data storage format.
Read and write data access from/to a tape storage medium is generally performed with the use of a random access memory (RAM) buffer that can be relatively large to achieve a higher transfer rate. Read and write data access is generally sequential (but not always), and operation with a large RAM buffer can be analogized to a pipeline. A host process operates to fill or empty the pipeline and a tape process operates to empty or fill the pipeline, depending upon the direction of transfer. However, due to factors including the size of the RAMbuffer (the length of the pipeline), the possibility of non-sequential access by the host computer, and the possibility of change in transfer direction, implementation of tape buffering involves many considerations including the following.
As a result of a relatively large buffer, operation of the host process and tape process may be unsynchronized but concurrent. For example, direct memory access (DMA) activity by the host process may occur concurrently with DMA activity by the tape process, but for different blocks of data.
A single buffer is used for different purposes such as host data transfer, tape data transfer, and error checking or correction; and data must be transferred between processes in a controlled manner.
When the host computer changes direction of transfer, the usage of the buffer changes. The buffer must be emptied and the flow direction reversed.
The logical position in the sequential data stream will be different, and typically unpredictable, for the host and tape ends of the pipeline.
Non-sequential access will disrupt flow of data through the pipeline.
As result of the complexity of considerations in implementing tape buffering, known buffered tape controllers tend to be complex, sometimes including the use of multiple dedicated processors for controlling respective processes, with attendant complexity, cost, and lack of flexibility in adaption to different operating environments and/or the more complex data structure of DAT computer data storage.